home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1999 January / EnigmA AMIGA RUN 33 (1999)(G.R. Edizioni)(IT)[!][issue 1999-01].iso / earcd / apus / install / old / hd300498.lha / hdinstall < prev    next >
Text File  |  1998-04-29  |  7KB  |  363 lines

  1. #! /bin/sh
  2. #hacked version of cdrdisk-net to insall from harddrive
  3. # Set up path
  4. PATH=.:/bin:/sbin:/usr/bin:/usr/sbin
  5. export PATH
  6.  
  7. # Set up terminal
  8. TERM=con80x25
  9. export TERM
  10.  
  11. # Make / writeable
  12. mount -w -n -o remount /dev/ramdisk /
  13. cd /
  14.  
  15. # Define all [default] values
  16. host_addr="198.6.75.7"
  17. host_name="Helios"
  18. network_addr="198.6.75.0"
  19. network_mask="255.255.255.0"
  20. broadcast_addr="198.6.75.255"
  21. gateway_addr="none"
  22. server_name="198.6.75.3"
  23. hpacked_loc="/mnt/chrproot.tar.gz"
  24. gzip_cmd="/mnt/gzip"
  25. mkdir_cmd="/mnt/mkdir"
  26. server_uid="root"
  27. root_dev="dev/sda"
  28. mkfs_options="-b1024"
  29. network_supp="NO"
  30.  
  31. while :
  32. do
  33.  
  34. dialog --clear --title "Installation Menu" \
  35.         --menu "What style of installation do you wish to perform?\n" \
  36.         20 70 7 \
  37.         "Harddisk"   "Packed Linux files from harddisk [chrproot.tar.gz]" \
  38.         2> /tmp/result
  39. retval=$?
  40. install_type=`cat /tmp/result`
  41. case $retval in
  42.   1)
  43.     echo "Cancelled!"; exit;;
  44.   255)
  45.     continue;;
  46. esac
  47.  
  48. # Get network host name
  49. dialog --title "Host Name" --clear \
  50.         --inputbox "What is your host [network] name? \n"\
  51.    16 51 $host_name 2> /tmp/result
  52. retval=$?
  53. case $retval in
  54.   1)
  55.     echo "Cancelled!"; exit;;
  56.   255)
  57.     continue;;
  58. esac
  59. host_name=`cat /tmp/result`
  60.  
  61. dialog --clear --title "Network Connection" \
  62.         --menu "Do you use your box in a Network?\n" \
  63.         20 70 7 \
  64.         "YES"   "Network Connection" \
  65.         "NO"   "Network Connection" \
  66.         2> /tmp/result
  67. retval=$?
  68. network_supp=`cat /tmp/result`
  69. case $retval in
  70.   1)
  71.     echo "Cancelled!"; exit;;
  72.   255)
  73.     continue;;
  74. esac
  75.  
  76. if [ "$network_supp" = "YES" ] ; then
  77.  
  78. # Get network address
  79. dialog --title "Host Address" --clear \
  80.         --inputbox "What is your host [network] address? \n"\
  81.    16 51 $host_addr 2> /tmp/result
  82. retval=$?
  83. case $retval in
  84.   1)
  85.     echo "Cancelled!"; exit;;
  86.   255)
  87.     continue;;
  88. esac
  89. host_addr=`cat /tmp/result`
  90.  
  91.  
  92. # Get network name
  93. dialog --title "Network Number" --clear \
  94.         --inputbox "What is your network number? \n"\
  95.    16 51 $network_addr 2> /tmp/result
  96. retval=$?
  97. case $retval in
  98.   1)
  99.     echo "Cancelled!"; exit;;
  100.   255)
  101.     continue;;
  102. esac
  103. network_addr=`cat /tmp/result`
  104.  
  105. # Get network mask
  106. dialog --title "Network Mask" --clear \
  107.         --inputbox "What is your network mask? \n"\
  108.    16 51 $network_mask 2> /tmp/result
  109. retval=$?
  110. case $retval in
  111.   1)
  112.     echo "Cancelled!"; exit;;
  113.   255)
  114.     continue;;
  115. esac
  116. network_mask=`cat /tmp/result`
  117.  
  118. # Get broadcast address
  119. dialog --title "Broadcast Address" --clear \
  120.         --inputbox "What is your broadcast address? \n"\
  121.    16 51 $broadcast_addr 2> /tmp/result
  122. retval=$?
  123. case $retval in
  124.   1)
  125.     echo "Cancelled!"; exit;;
  126.   255)
  127.     continue;;
  128. esac
  129. broadcast_addr=`cat /tmp/result`
  130.  
  131. # Get gateway name
  132. dialog --title "Gateway Address" --clear \
  133.         --inputbox "If you need to use a gateway\n\
  134. to reach your server, enter it's address here.\n\
  135. If you don't need a gateway, set the value to 'none'.\n\n\
  136. Gateway address? \n"\
  137.    16 70 $gateway_addr 2> /tmp/result
  138. retval=$?
  139. case $retval in
  140.   1)
  141.     echo "Cancelled!"; exit;;
  142.   255)
  143.     continue;;
  144. esac
  145. gateway_addr=`cat /tmp/result`
  146.  
  147. fi
  148.  
  149. if [ "$install_type" = "Harddisk" ] ; then
  150.  
  151. # Get file location
  152. dialog --title "File Location" --clear \
  153.         --inputbox "Where is the Linux/PPC distribution image \n"\
  154.    16 51 $hpacked_loc 2> /tmp/result
  155. retval=$?
  156. case $retval in
  157.   1)
  158.     echo "Cancelled!"; exit;;
  159.   255)
  160.     continue;;
  161. esac
  162. packed_loc=`cat /tmp/result`
  163.  
  164. # Get 'mkdir' command location
  165. dialog --title "'mkdir' Command Location" --clear \
  166.         --inputbox "What is the path for 'mkdir' on your disk?\n"\
  167.    16 51 $mkdir_cmd 2> /tmp/result
  168. retval=$?
  169. case $retval in
  170.   1)
  171.     echo "Cancelled!"; exit;;
  172.   255)
  173.     continue;;
  174. esac
  175. mkdir_cmd=`cat /tmp/result`
  176.  
  177. # Get 'gzip' command location
  178. dialog --title "'gzip' Command Location" --clear \
  179.         --inputbox "What is the path for 'gzip' on your disk?\n"\
  180.    16 51 $gzip_cmd 2> /tmp/result
  181. retval=$?
  182. case $retval in
  183.   1)
  184.     echo "Cancelled!"; exit;;
  185.   255)
  186.     continue;;
  187. esac
  188. gzip_cmd=`cat /tmp/result`
  189.  
  190. fi
  191.  
  192. # Get root device name
  193. dialog --title "Root Device Name" --clear \
  194.         --inputbox "What disk do you want to install on?\n"\
  195.    16 51 $root_dev 2> /tmp/result
  196. retval=$?
  197. case $retval in
  198.   1)
  199.     echo "Cancelled!"; exit;;
  200.   255)
  201.     continue;;
  202. esac
  203. root_dev=`cat /tmp/result`
  204.  
  205. dialog --title "Disk setup" --clear \
  206.         --msgbox \
  207.       "\n\
  208. This installation process assumes that the \n\
  209. disk drive $root_dev is used as follows:\n\
  210.   "$root_dev"1 - Root file system \n\
  211.   "$root_dev"2 - Swap space\n\
  212. \n" \
  213.    16 60 2> /tmp/result
  214.  
  215. # Get root device name
  216. dialog --title "Root Device Name" --clear \
  217.         --inputbox "Which partition for '/'?\n"\
  218.    16 51 "$root_dev"1 2> /tmp/result
  219. retval=$?
  220. case $retval in
  221.   1)
  222.     echo "Cancelled!"; exit;;
  223.   255)
  224.     continue;;
  225. esac
  226. root_part=`cat /tmp/result`
  227.  
  228. # Get swap device name
  229. dialog --title "Swap Device Name" --clear \
  230.         --inputbox "Which partition for swap?\n"\
  231.    16 51 "$root_dev"2 2> /tmp/result
  232. retval=$?
  233. case $retval in
  234.   1)
  235.     echo "Cancelled!"; exit;;
  236.   255)
  237.     continue;;
  238. esac
  239. swap_part=`cat /tmp/result`
  240.  
  241.  
  242. # Get file system options
  243. dialog --title "Options for 'mkfs'" --clear \
  244.         --inputbox "Options for 'mkfs'?\n"\
  245.    16 51 "$mkfs_options" 2> /tmp/result
  246. retval=$?
  247. case $retval in
  248.   1)
  249.     echo "Cancelled!"; exit;;
  250.   255)
  251.     continue;;
  252. esac
  253. mkfs_options=`cat /tmp/result`
  254.  
  255. # Customization complete, go do it!
  256. break
  257.  
  258. done
  259.  
  260. # All set, now do it!
  261.  
  262. dialog --title "Partitioning your disk" --clear \
  263.         --msgbox \
  264.       "\n\
  265. Please partition the disk drive $root_dev as follows:\n\
  266.   "$root_part" - Type Linux, Most of disk\n\
  267.   "$swap_part" - Type Linux Swap, maybe 32 Mb\n\
  268. \n" \
  269.    16 60 2> /tmp/result
  270. retval=$?
  271. case $retval in
  272.   1)
  273.     echo "Cancelled!"; exit;;
  274.   255)
  275.     continue;;
  276. esac
  277.  
  278. ifconfig eth0 $host_addr
  279. if [ "$gateway_addr" != "none" ] ; then
  280.    route add default gw $gateway_addr
  281. fi
  282.  
  283. #route add -net $network_addr netmask $network_mask broadcast $broadcast_addr
  284. route add -net $network_addr netmask $network_mask
  285.  
  286. TERM=linux
  287. export TERM
  288. #cfdisk $root_dev $cfdisk_options
  289.  
  290. mke2fs $mkfs_options $root_part
  291. if [ "$install_type" != "Harddisk"  ] ; then
  292.  
  293. #rm -f /etc/mtab
  294. mount -t ext2 $root_part /mnt
  295. cd /mnt
  296.  
  297. fi
  298. case "$install_type" in
  299.  
  300.     "Harddisk")
  301.         
  302.     $mkdir_cmd /callisto
  303.      mount -t ext2 $root_part /callisto
  304.     $gzip_cmd -d <$hpacked_loc | pax -rvup e
  305.      cd /callisto
  306.          ;;
  307. esac      
  308.  
  309. # Create FSTAB
  310. cat >etc/fstab <<ZZZ
  311. $root_part / ext2 rw 1 1
  312. $swap_part none swap
  313. /proc   /proc   proc    defaults
  314. ZZZ
  315.  
  316. # Initialize swap partition
  317. sbin/mkswap $swap_part
  318.  
  319. ##if [ "$install_type" != "Diskettes" ] ; then
  320.  
  321. # Set up networking
  322.  
  323. cat >etc/sysconfig/network-scripts/ifcfg-eth0 <<ZZZ
  324. #!/bin/sh
  325.  
  326. #>>>Device type: ethernet
  327.  
  328. #>>>Variable declarations:
  329. DEVICE=eth0
  330. IPADDR=$host_addr
  331. NETMASK=$network_mask
  332. NETWORK=$network_addr
  333. BROADCAST=$broadcast_addr
  334. GATEWAY=$gateway_addr
  335. ONBOOT=yes
  336. #>>>End variable declarations
  337. ZZZ
  338.  
  339. if [ "$network_supp" = "YES" ] ; then
  340.  
  341. cat >etc/sysconfig/network <<ZZZ
  342. NETWORKING=yes
  343. HOSTNAME=$host_name
  344. ZZZ
  345.  
  346. else
  347.  
  348. cat >etc/sysconfig/network <<ZZZ
  349. NETWORKING=no
  350. HOSTNAME=$host_name
  351. ZZZ
  352.  
  353. fi
  354.  
  355. # End of network setup
  356. ##fi
  357.  
  358. cd /
  359. sync
  360. umount $root_part
  361. sync
  362.  
  363.